package com.zmn.mcc.common.constant;

import com.zmn.common.constant.GlobalConsts;

/**
 * @author heguanghua
 * @since 2020/05/09 10:42
 */
public class SystemConsts {


    /**
     * 根节点Id
     */
    public final static Integer ROOT_ID = 1;

    /**
     * 员工默认/初始密码
     */
    public final static String STAFF_PWD_DEFAULT = GlobalConsts.ZMN_STAFF_DEFAULT_PASSWORD;
    
    /**
     * 超级管理员角色ID
     */
    public final static int SUPER_ADMIN_ROLE_ID     = 101;

    /**
     * 员工不限IP登陆日期
     */
    public final static String CACHE_STAFF_OPEN_LOGIN = "mcc:cas:staff:open_login:%s";    // %s:员工ID，原plat: OPEN_IP_LOGIN_TODAY

    /**
     * 员工零时密码
     */
    public final static String CACHE_STAFF_TEMP_PWD = "mcc:cas:staff:temp_pwd:%s";      // %s:员工ID，原plat: plat:cas:temp_pwd

    /**
     * 缓存过期时间，单位:秒
     */
    public final static int CACHE_STAFF_TEMP_PWD_EXPIRE = 3600;

    /**
     * 缓存过期时间，单位:秒
     */
    public final static int CACHE_STAFF_TEMP_PWD_EXPIRE_BOSS = 365 * 24 * 3600;

    /**
     * 员工登录失败计数
     */
    public final static String CACHE_STAFF_LOGIN_ERROR = "mcc:cas:staff:login_fail:%s";    // %s:员工ID
    public final static int CACHE_STAFF_LOGIN_Error_EXPIRE = 600;                              // 缓存过期时间，单位:秒


    /**
     * 员工信息
     */
    public final static String CACHE_STAFF = "mcc:staff:%s";                            // 员工，%s:员工ID
    public final static String CACHE_STAFF_LOGIN = "mcc:staff_login:%s";                        // 员工登录对象，%s:员工ID
    public final static int CACHE_STAFF_EXPIRE = 24 * 3600;                        // 缓存过期时间，单位:秒

    /**
     * 角色信息
     */
    public final static String CACHE_ROLE = "mcc:role:%s";                    // 角色，%s:角色ID
    public final static String CACHE_ROLE_GLOBAL_IDS = "mcc:role_global_ids";            // 系统全局角色
    public final static int CACHE_ROLE_EXPIRE = 24 * 3600;                        // 缓存过期时间，单位:秒


    /**
     * 组织信息
     */
    public final static String CACHE_PLAT_MAP = "mcc:plat_map";                   // 平台列表
    public final static String CACHE_PLAT = "mcc:plat:%s";                    // 平台，%s:平台标识
    public final static String CACHE_ORGANIZE = "mcc:organize:%s";                // 组织，%s:组织ID
    public final static String CACHE_ORGANIZE_IDS = "mcc:organize_ids:%s";            // 组织ID列表，%s:上级组织ID
    public final static int CACHE_ORGANIZE_EXPIRE = 24 * 3600;                        // 缓存过期时间，单位:秒

    /**
     * 部门信息
     */
    public final static String CACHE_DEPT = "mcc:dept:%s";                    // 部门，%s:部门ID
    public final static String CACHE_DEPT_IDS = "mcc:dept_ids:%s";                // 部门ID列表，%s:上级部门ID
    public final static int CACHE_DEPT_EXPIRE = 24 * 3600;                        // 缓存过期时间，单位:秒

    public final static String CACHE_DEPT_ABOVE = "mcc:dept:above:%s";              // 当前及下级部门，%s:当前部门ID
    public final static String CACHE_DEPT_SUBOR = "mcc:dept:subor:%s";              // 当前及上级部门，%s:当前部门ID
    public final static int CACHE_DEPT_ABOVE_SUBOR_EXPIRE = 24 * 600;                         // 缓存过期时间，单位:秒

    public final static String CACHE_DEPT_AND_ORG_SUBOR = "mcc:dept:org:subor";   // 当前部门的上级部门及
    /**
     * 区域信息
     */
    public final static String CACHE_AREA_IDS = "mcc:area_ids:%s";                // 区域ID列表，%s:上级区域ID
    public final static int CACHE_AREA_EXPIRE = 24 * 3600;                        // 缓存过期时间，单位:秒

    /**
     * 渠道信息
     */
    public final static String CACHE_CHANNEL_IDS = "mcc:channel_ids:%s";             // 渠道ID列表，%s:上级渠道ID
    public final static String CACHE_CHANNEL_PLAT_LEVEL_STATUS = "mcc:channel_plat:%s:level:%s:status:%s";             // 渠道ID列表
    public final static int CACHE_CHANNEL_EXPIRE = 24 * 3600;                        // 缓存过期时间，单位:秒

    /**
     * 大数据报表
     */
    public final static String CACHE_CUBE_MENU_IDS = "mcc:cube_menu_ids:%s";           // 大数据报表菜单ID列表，%s:上级菜单ID
    public final static int CACHE_CUBE_MENU_EXPIRE = 24 * 3600;                        // 缓存过期时间，单位:秒

    /**
     * 大数据报表
     */
    public final static String CACHE_PRODUCT_MENU_IDS = "mcc:product_ids:%s";           // 产品数据ID列表，%s:上级菜单ID

    /**
     * 缓存过期时间，单位:秒
     */
    public final static int CACHE_PRODUCT_MENU_EXPIRE = 24 * 3600;

    /**
     * 公司
     */
    public final static String CACHE_COMPANY_ORGTHRID_TYPE_STATUS = "mcc:company_orgthrid:%s:type:%s:status:%s";            // 服务商三级架构查询公司id，%s:上级组织ID

    /**
     * 缓存过期时间，单位:秒
     */
    public final static int CACHE_COMPANY_ORGTHRID_TYPE_STATUS_EXPIRE = 24 * 3600;
}


